\subsection{Concurrency considerations in the domain}
\label{sec:concurrency}
Even though we have chosen to use optimistic concurrency control, it is still worth considering, if it could a good idea to lock a number of seats temporally at a point in the booking process.

\subsubsection{Seat reservation in the ticket booking process}
Could the user could benefit from being able to temporally lock seats in the process of entering passenger information and/or entering payment information, and what new problems could arise from this.

\subsubsection{Seat reservation in the chosen seats use case}
In the second use case 'Choose seats' a user is able to select specific seats. \\
The user is to enter something that serves as booking identification and authentication, in order to be given the option of choosing between different seats on a specific plane connected to the booking. Once seats are selected they will become locked for a short period of time. The user will then have to press a button: "choose seats" and confirm his choice to finally lock the seats. In case he chooses not to confirm: the seats are unlocked until chosen again. \\
Something to avoid is having too many users fighting for seats at once, suggestions for solving this are listed below:
\begin{itemize}
\item Enable a limited amount of users to choose seats at a time; can be done by sending the link and details for the seat reservation process, via e-mail, some time after ticket has been done. The downside of this is that it requires customers to book some time in advance to succeed.
\item Customers will only to be to choose seats at the airport using the airports local self-checkin system; scanning a bar or QR code will enable easy identification, and a password ensure authentication.
\end{itemize}